In a cloud computing environment, computing is delivered as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a metered service over a network, such as the Internet. In such an environment, computation, software, data access and storage services are provided to users that do not require knowledge of the physical location and configuration of the system that delivers the services.
Currently, application developers are required to decide which platform (e.g., 32-bit platform, 64-bit platform) to run their software deployed to the cloud computing environment. Such a decision has implications on both runtime performance as well as efficient use of memory. For example, in some circumstances, an application may run faster on a 64-bit platform rather than on a 32-bit platform at a cost of a larger memory footprint (program using or referencing a greater amount of memory while running). Conversely, some applications run slower in a 64-bit environment though they have access to a greater amount of memory. Most application developers are not performance and memory experts, and hence they will have a difficult time in selecting the appropriate platform to optimize runtime performance and memory utilization.